// Kony

#pragma once

#include "CoreMinimal.h"
#include "GameplayModMagnitudeCalculation.h"
#include "MMC_MaxHealth.generated.h"

/**
 * MMC 是 Mod Magnitude Calculation（模量计算）‌ 的缩写，属于虚幻引擎的数值计算系统，主要用于动态计算游戏中的属性值（如角色血量、蓝量等）
 * RPG角色属性‌：根据角色等级动态计算最大血量或蓝量（例如：最大血量 = 基础值 + 等级 × 体力系数）
 */
UCLASS()
class GASC_HUANLING_API UMMC_MaxHealth : public UGameplayModMagnitudeCalculation
{
	GENERATED_BODY()
public:
	UMMC_MaxHealth(); 
	
	// 重写虚幻引擎的模量计算基类方法，用于计算游戏效果的基础数值
	// 参数 Spec 包含游戏效果的规格信息，返回值为计算得到的数值结果
	virtual float CalculateBaseMagnitude_Implementation(const FGameplayEffectSpec& Spec) const override;


private:
	// 获取体魄值
	FGameplayEffectAttributeCaptureDefinition VigorDef;
	FGameplayEffectAttributeCaptureDefinition StrengthDef;
};
